// 自定义hook的文件
// 返回新的数组，不在原来的数组修改数据，主要是修改了原数组其他使用 时保证原数组处于默认状态
export function useTreeData(menus) {
    // // 不要使用 JSON 拷贝，改用递归 clone
    // function cloneMenu(menu) {
    //     return menu.map(item => ({
    //         ...item,
    //         disabled: false,
    //         children: item.children ? cloneMenu(item.children) : undefined
    //     }));
    // }

    // return cloneMenu(menus);
    // 深拷贝
    const list = JSON.parse(JSON.stringify(menus))
    function mapFn(list) {
        list.forEach(item => {
            item.disabled = false
            if (item.children) {
                mapFn(item.children)
            }
        })
    }
    mapFn(list)
    return list
}